home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 2006-07-07 | 70.3 KB | 2,189 lines
# MACROS DEFINITION FILE (http://kmeleon.sourceforge.net/wiki/index.php?id=MacroLanguage) $macroPrefBranch="kmeleon.plugins.macros."; $macroResLoc="file:///".gsub("\\","/",getpref(STRING,"kmeleon.general.profileDir"))."chrome/"; # ----EVENT MACROS w/LAST SESSION & STARTUP GROUP SUPPORT---- OnStartup{ &SetLast; $layer=="true"? &SetNext:setpref(STRING,$og,$ln); getpref(INT,$sg)<2 ? "":$loaded="GroupStart"; &Sync; # for kmPrefs: getpref(BOOL,"kmeleon.plugins.favorites.load")==true?&getFavorites:""; } OnLoad{ $loaded==""?"":macros($loaded); &GetSetTemp; &Sync; } OnCloseGroup{ &GetSetTemp; } OnActivateWindow{ &EncodingSync; } OnWMAppExit{ &GetSetTemp; } OnQuit{ &SetLast; getpref(BOOL,$uar)!=true? delpref($ua):""; } # ----BUTTON & MENU SYNC---- Sync{ &EngineSync; &KeywordSync; &TAFSync; &GroupsSync; &ZoomSync; &UASync; &EncodingSync; &PrivacySync; &ProxySync; &BookSync; &LayerSync; &MGSync; &LayersSync; setcheck("macros(FrmToggle)",getpref(BOOL,$frames)? false:true); } # ---- Encoding ---- $Pref_charsetdet = "intl.charset.detector"; $charset_current = "iso-8859-1"; EncodingSync{ $detector=getpref(STRING,$Pref_charsetdet); setcheck("macros(AutoDetect())",$detector==""? true:false); setcheck("macros(AutoDetect(universal_charset_detector))",$detector=="universal_charset_detector"? true:false); setcheck("macros(AutoDetect(zh_parallel_state_machine))",$detector=="zh_parallel_state_machine"? true:false); setcheck("macros(AutoDetect(ja_parallel_state_machine))",$detector=="ja_parallel_state_machine"? true:false); setcheck("macros(AutoDetect(ko_parallel_state_machine))",$detector=="ko_parallel_state_machine"? true:false); setcheck("macros(AutoDetect(cjk_parallel_state_machine))",$detector=="cjk_parallel_state_machine"? true:false); setcheck("macros(AutoDetect(ruprob))",$detector=="ruprob"? true:false); setcheck("macros(AutoDetect(ukprob))",$detector=="ukprob"? true:false); # getcharset and global vars are dependent of the current active window, # not on the window which triggered the onload macro. Thank to this bug # the following work. $__temp = "macros(ForceCharset(" . $charset_current . "))"; setcheck($__temp, false); $charset_current = $CHARSET; $__temp = "macros(ForceCharset(" . $charset_current . "))"; setcheck($__temp, true); } AutoDetect { setpref(STRING,"intl.charset.detector",$ARG); forcecharset(); } ForceCharset { forcecharset($ARG); } # ----ENGINES---- Dogpile{ &OldSearch; $search = "Dogpile"; $eng = "http://www.dogpile.com/info.dogpl/search/web/"; &SetSearch; } Google{ &OldSearch; $search = "Google"; $eng = "http://www.google.com/search?q="; &SetSearch; } Hakia{ &OldSearch; $search = "Hakia"; $eng = "http://www.hakia.com/search.aspx?q="; &SetSearch; } Yahoo{ &OldSearch; $search = "Yahoo"; $eng = "http://search.yahoo.com/bin/search?p="; &SetSearch; } Dictionaries{ &OldSearch; $search = "Dictionaries (One Look)"; $eng = "http://www.onelook.com/?w="; &SetSearch; } Wikipedia{ &OldSearch; $search = "Wikipedia"; $eng = "http://en.wikipedia.org/wiki/"; &SetSearch; } KM{ &OldSearch; $search = "K-Meleon Forums"; $eng = "http://kmeleon.sourceforge.net/forum/search.php?f=3&globalsearch=1&match=1&date=0&fldsubject=1&fldbody=1&search="; &SetSearch; } URL{ &OldSearch; $search = "URL"; $eng = ""; &Locked; } EngineSync{ setcheck("macros(Dogpile)", getpref(STRING, $sen) == "Dogpile" ? true:false); setcheck("macros(Google)", getpref(STRING, $sen) == "Google" ? true:false); setcheck("macros(Hakia)", getpref(STRING, $sen) == "Hakia" ? true:false); setcheck("macros(Yahoo)", getpref(STRING, $sen) == "Yahoo" ? true:false); setcheck("macros(Dictionaries)", getpref(STRING, $sen) == "Dictionaries (One Look)" ? true:false); setcheck("macros(Wikipedia)", getpref(STRING, $sen) == "Wikipedia" ? true:false); setcheck("macros(SN0)",getpref(INT,$so)==0? true:false); setcheck("macros(SN1)",getpref(INT,$so)==1? true:false); setcheck("macros(SN2)",getpref(INT,$so)==2? true:false); setcheck("macros(SearchLock)",getpref(BOOL,$sl)); } # ----SEARCH MACROS---- $se="kmeleon.general.searchEngine"; $sl=$macroPrefBranch."search.locked"; $sen=$macroPrefBranch."search.engineName"; $so=$macroPrefBranch."search.open"; $eng=getpref(STRING, $se) ; $search=getpref(STRING, $sen); $layers="kmeleon.plugins.layers.load"; $layer=getpref(BOOL, $layers); OldSearch{ $oldeng=$eng; $oldsearch=$search; } SetSearch{ getpref(BOOL,$sl)==false ? &Unlocked:&Locked; &EngineSync; } Unlocked{ setpref(STRING,$sen,$search); setpref(STRING,$se,$eng); &Search; } Locked{ &Search; $search=$oldsearch; $eng=$oldeng; } Search{ $word=$SelectedText; $word=="" ? &URLBarSearch:$word==$URL ? &PromptSearch:&OpenSearch; } URLBarSearch{ $word=$URLBAR $word=="" ? $word=$URL:""; $word==$URL ? &PromptSearch:&OpenSearch; } PromptSearch{ $search=="" ? $search="Google":0; $search=="URL" ? $tip="Enter URL:":$tip=sub("%s", $search, _("Search %s for:")); $word=prompt($tip,$search); $word==""?"": &OpenSearch; } OpenSearch{ $how=getpref(INT, $so); $search!="Google"?"": $word=urlencode($word); $how==0 ? open($eng.$word):$how==1 ? &SearchNew:$how==2 ? &SearchBack:0; } Umlauts{ $word=gsub("Σ","%C3%A4",$word); $word=gsub("÷","%C3%B6",$word); $word=gsub("ⁿ","%C3%BC",$word); $word=gsub("▀","%C3%9F",$word); $word=gsub("─","%C3%84",$word); $word=gsub("╓","%C3%96",$word); $word=gsub("▄","%C3%9C",$word); $word=gsub("└","%C3%80",$word); $word=gsub("┬","%C3%82",$word); $word=gsub("α","%C3%A0",$word); $word=gsub("Γ","%C3%A2",$word); $word=gsub("τ","%C3%A7",$word); $word=gsub("Φ","%C3%A8",$word); $word=gsub("╦","%C3%8B",$word); $word=gsub("Ω","%C3%AA",$word); $word=gsub("Θ","%C3%A9",$word); $word=gsub("δ","%C3%AB",$word); $word=gsub("╔","%C3%89",$word); $word=gsub("╚","%C3%88",$word); $word=gsub("╧","%C3%8F",$word); $word=gsub("∩","%C3%AF",$word); $word=gsub("ε","%C3%AE",$word); $word=gsub("±","%C3%B1",$word); $word=gsub("⌠","%C3%B4",$word); $word=gsub("√","%C3%BB",$word); $word=gsub("∙","%C3%B9",$word); $word=gsub("┘","%C3%99",$word); } SearchNew{ &ResetURL; $layer==true ? pluginmsg(layers,"OpenURL",$eng.$word):opennew($eng.$word); } ResetURL{ $URLBAR = $URL; } SearchBack{ &ResetURL; $layer==true ? pluginmsg(layers,"OpenURLBg",$eng.$word):OpenBg($eng.$word); } PasteSearch{ $URLBAR=getclipboard(); &Search; } SN0{ setpref(INT,$so,0); &EngineSync; } SN1{ setpref(INT,$so,1); &EngineSync; } SN2{ setpref(INT,$so,2); &EngineSync; } SearchLock{ $search==""? $search="Google":0; togglepref(BOOL,$sl); #getpref(BOOL,$sl)==true ? $how="LOCKED on: ".$search:$how="UNLOCKED"; #alert("The default Search Engine is now ".$how."\n\n\nTo set default engine\(for Metasearch not possible):\n\n1. Unlock\n2. Click desired engine from menu\n3. Lock",_("Search Button"),INFO); &EngineSync; } AddEng{ $theurl="http://kmeleon.sourceforge.net/wiki/index.php?id=Search+Engines"; $layer=="true"? pluginmsg(layers,"OpenURL",$theurl):opennew($theurl); $loaded="MacMen"; } MacMen{ &Macros; &Menus; $loaded=""; } Highlight{ InjectJS("(function(){var count=0, text, dv;text=prompt(\"Find and Highlight the following:\", \"\");if(text==null || text.length==0)return;dv=document.defaultView;function searchWithinNode(node, te, len){var pos, skip, spannode, middlebit, endbit, middleclone;skip=0;if( node.nodeType==3 ){pos=node.data.toUpperCase().indexOf(te);if(pos>=0){spannode=document.createElement(\"SPAN\");spannode.style.backgroundColor=\"yellow\";middlebit=node.splitText(pos);endbit=middlebit.splitText(len);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else if( node.nodeType==1&& node.childNodes&& dv.getComputedStyle(node, null).getPropertyValue(\"display\")!=\"none\"){for (var child=0; child < node.childNodes.length; ++child){child=child+searchWithinNode(node.childNodes[child], te, len);}}return skip;}window.status=\"Searching for '\"+text+\"'...\";searchWithinNode(document.body, text.toUpperCase(), text.length);window.status=\"Found \"+count+\" occurrence\"+(count==1?\"\":\"s\")+\" of '\"+text+\"'.\";})();"); } # ----- KEYWORD ----- KeywordSync{ setcheck("macros(Keyword)",getpref(BOOL,"keyword.enabled")); setcheck("macros(KeyEngBBN)",getpref(STRING,"keyword.eng")=="BBN"? true:false); setcheck("macros(KeyEngIFL)",getpref(STRING,"keyword.eng")=="IFL"? true:false); setcheck("macros(KeyEngGoog)",getpref(STRING,"keyword.eng")=="GOOG"? true:false); setcheck("macros(KeyConfig)",getpref(STRING,"keyword.eng")==""? true:false); } Keyword{ togglepref(BOOL,"keyword.enabled"); &KeywordSync; } CheckKey{ $eng=getpref(STRING,"keyword.URL"); } KeyEngBBN{ $eng=_("http://www.google.com/search?gfns=1&q="); $string="BBN"; &KeyEng; } KeyEngIFL{ $eng=_("http://www.google.com/search?btnI=1&q="); $string="IFL"; &KeyEng; } KeyEngGoog{ $eng=_("http://www.google.com/search?q="); $string="GOOG"; &KeyEng; } KeyConfig{ &CheckKey; $eng=prompt( _("Enter Keyword Autosearch Engine:"), _("Keyword Autosearch"), $eng) $eng==""?"":$string=""; $eng==""?"": &KeyEng; } KeyEng{ setpref(STRING,_("keyword.URL"),$eng); setpref(STRING,"keyword.eng",$string); &Sync; alert( sub("%s", $eng, _("Keyword Autosearch Engine = '%s'")), _("Keyword Autosearch Engine"),INFO); } # ----- TYPEAHEAD ---- $taf="accessibility.typeaheadfind"; TAFSync{ setcheck("macros(TAF)",getpref(BOOL,$taf)); setcheck("macros(TAFAuto)",getpref(BOOL,$taf.".autostart")); setcheck("macros(TAFLinks)", getpref(BOOL,$taf.".linksonly")); } TAF{ togglepref(BOOL,$taf); &TAFSync; } TAFAuto{ togglepref(BOOL,$taf.".autostart"); $var=getpref(BOOL,$taf.".autostart")==true ? $tip=_("Find As You Type Auto Start") . " - "._("ENABLED") : $tip=_("Find As You Type Auto Start") . " - "._("DISABLED") : $tip="Find As You Type Auto Start"; &Sync;statusbar($tip); } TAFLinks{ togglepref(BOOL,$taf.".linksonly"); #$var=getpref(BOOL,$taf.".linksonly")==true ? $bool=_(" - ENABLED. Only links will be searched for as you start typing. You can override this by pressing / for all text, or ' for links only."):$bool=_(" - DISABLED "); $var=getpref(BOOL,$taf.".autostart")==true ? $tip=_("Find As You Type Links Only") . " - "._("ENABLED") : $tip=_("Find As You Type Links Only") . " - "._("DISABLED") : $tip=_("Find As You Type Links Only"); &Sync;statusbar($tip); } AlertTAF{ alert($tip.$bool,$tip,INFO); } # ----- JavaScript ----- JSEnable { getpref(BOOL,$jscript)==false ? &JS:macros($macro); } JS{ &JSToggle; macros($macro); &JSToggle; } # ----- JavaScript Document Handling $JSdoit=""; $JSfunc=""; $JSlast=""; hndlDoc{ InjectJS($JSfunc."with(document){".$JSdoit."}".$JSlast,"frame"); $JSdoit=""; $JSfunc=""; $JSlast=""; } hndlDocs{ # $JSfunc is the right place for functions and global variables (e.g. when you want to count something over all frames) # $JSlast is the right place for finishing actions (e.g. when you want to alert what you have counted over all frames) InjectJS($JSfunc."function hndlFrm(w){try{with(w.document){".$JSdoit."}}catch(e){}for(var j=0,f=w.frames;j<f.length;j++)hndlFrm(f[j])}hndlFrm(window);".$JSlast); $JSdoit=""; $JSfunc=""; $JSlast=""; } # ----- Scroll macros scrollToTop{ $JSdoit="scroll(0,0x00000)"; &hndlDoc; } scrollToBottom{ $JSdoit="scroll(0,0x10000)"; &hndlDoc; } scrollToLeftEnd{ $JSdoit="scrollBy(-0x10000,0)"; &hndlDoc; } scrollToRightEnd{ $JSdoit="scrollBy( 0x10000,0)"; &hndlDoc; } # ----IMAGE & ZOOM MACROS---- ViewImages{ $JSfunc="with(document)var ext=new Array('bmp','gif','giff','jpg','jpeg','png','ico'),imgWin=open('','kmIMG'+Math.floor(Math.random()*1000),''),nlf='<p>"._("No linked images found.")."</p>',tit='"._("Linked Images:")." '+((title)?title:unescape(URL)),txt='';"; $JSdoit="if(getElementsByTagName('body')[0]){txt+='<fieldset><legend>'+((title)?title:unescape(URL)).link(URL)+'</legend><ol>';if(links.length){var l=0;for(var j=0;j<links.length;j++)for(var k=0,x=(''+links[j]).split('.');k<ext.length;k++)if(x[x.length-1].toLowerCase()==ext[k]){txt+='<li><img src=\"'+links[j]+'\"></li>';l++}if(!l)txt+=nlf}else txt+=nlf;txt+='</ol></fieldset>'}"; $JSlast="with(imgWin.document){write('<head><title>'+tit+'</title><link rel=\"stylesheet\" type=\"text/css\" href=\"'+encodeURI('".$macroResLoc."')+'macros.css\"></head><body class=\"kmLinkedImages\">');write(txt+'</body>');close()}"; &hndlDocs; } LinkedImages{ $macro="ViewImages";&PBDisable; } hndlImg{ $JSdoit="var b=getElementsByTagName('body')[0];if(b){var bz=(b.getAttribute('zoom')==null)?1:(b.getAttribute('zoom')/10);for(var j=0,i=images;j<i.length;j++)with(i[j])if(encodeURIComponent(src).replace(/%25([A-F0-9]{2})/g,'%$1')=='".urlencode($ImageURL)."'){".$JSdoitImg."}}"; &hndlDoc; } hndlImgs{ $JSdoit="var b=getElementsByTagName('body')[0];if(b){if(b.getAttribute('zoom')==null)b.setAttribute('zoom',10);var bz=".$zoomBy.",o=parseFloat(b.getAttribute('zoom'));if(Math.round(bz+o)){b.setAttribute('zoom',Math.round(bz+o));bz=b.getAttribute('zoom')/10;for(var j=0,i=images;j<i.length;j++)with(i[j]){".$JSdoitImg."}}}"; $JSfunc=""; &hndlDocs; } zoomImg{ $JSdoitImg="if(getAttribute('zoom')==null){setAttribute('initW',width);setAttribute('initH',height);setAttribute('zoom',1)}var iz=".$zoomBy.";setAttribute('zoom',getAttribute('zoom')*iz);iz=getAttribute('zoom');width=bz*iz*getAttribute('initW');height=bz*iz*getAttribute('initH')"; &hndlImg; } zoomTxt{ $JSdoit="var b=getElementsByTagName('body')[0];if(b)zoomNode(b,(10+".$zoomBy.")/10);"; $JSfunc="function zoomNode(n,z){for(var j=0;j<n.childNodes.length;j++)if(n.childNodes[j].nodeType==1)zoomNode(n.childNodes[j],z);var lh=getComputedStyle(n,'').getPropertyValue('line-height');if(lh!='normal')n.style.lineHeight=Math.round(parseFloat(lh.replace(/px/,''))*z)+'px';n.style.fontSize=Math.round(parseFloat(getComputedStyle(n,'').getPropertyValue('font-size').replace(/px/,''))*z)+'px'}"; &hndlDocs; } zoomImgs{ $JSdoitImg="var iz=(getAttribute('zoom')==null)?1:getAttribute('zoom');if(getAttribute('initW')==null){setAttribute('initW',width);setAttribute('initH',height)}width=bz*iz*getAttribute('initW');height=bz*iz*getAttribute('initH')"; &hndlImgs; } ImageInfo{ $JSdoitImg="var l=getAttribute('longdesc'),s='"._("Image Properties")."\\n\\n"._("URL:").\\t."'+unescape(src)+'\\n"._("Size:\\t%W x %H Pixels")."'.replace(/%W/,width).replace(/%H/,height);if(alt)s+='\\n"._("Alt. Text:\\t")."'+alt;if(l){s+='\\n\\n"._("A description is available for this image. Do you want to view it?")."';if(confirm(s)){if(top.location==self.location)open(l);top.location.href=l}}else alert(s)"; &hndlImg; } ImgInfo { $FrameURL=""; $PageURL=$FrameURL; open("javascript: function chkframes(elem) { var rep; if (unescape(elem.location) == '".$PageURL."' || '".$PageURL."'=='') { rep=chkimg(elem); if (rep) return rep; } for (var f=0; f<elem.frames.length; f++) { rep=chkframes(elem.frames[f]); if (rep) return rep; } return; } function chkimg(elem){ if(elem.document.images.length>0){ var i; for(i=0;i<elem.document.images.length;i++){ if(unescape(elem.document.images[ i ].src) == '".$ImageURL."'){ return elem.document.images[i]; } } } } function XyZ() { var img=chkframes(window); if (img) { alert(\"* I M A G E P R O P E R T I E S *\\r\\n\\r\\nURL:\\t\" + unescape(img.src) + \"\\r\\nWidth:\\t\" + img.width + \"\\r\\nHeight:\\t\" + img.height + \"\\r\\nALT:\\t\" + img.alt + \"\\r\\nTitle:\\t\" + img.title); } } void(XyZ()); "); } ImageCache{ $i=index($ImageURL,"#"); $addr=$i==-1 ? $ImageURL:substr($ImageURL,0,$i); $client=index($addr,"https://")==0 ? "HTTP-memory-only":"HTTP"; $var="about:cache-entry?client=".$client."&sb=1&key=".$addr; index($addr,"http")==0 ? opennew($var):""; } ZoomInImage{ $FrameURL=""; $PageURL=$FrameURL; $zoomBy="2"; &zoomImg; } ZoomInImg{ $FrameURL=""; $PageURL=$FrameURL; open("javascript:function chkframes(elem) { var rep; if (unescape(elem.location) == '".$PageURL."' || '".$PageURL."'=='') { rep=chkimg(elem); if (rep) return rep; } for (var f=0; f<elem.frames.length; f++) { rep=chkframes(elem.frames[f]); if (rep) return rep; } return; } function chkimg(elem){ if(elem.document.images.length>0){ var i; for(i=0;i<elem.document.images.length;i++){ if(unescape(elem.document.images[ i ].src) == '".$ImageURL."'){ return elem.document.images[i]; } } } } function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid losing height information due to integer rounding while zooming out */ image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; } function findIMG() { var img=chkframes(window); zoomImage(img,2); } void(findIMG());"); } ZoomOutImage{ $zoomBy="1/2"; &zoomImg; } ZoomOutImg { $FrameURL=""; $PageURL=$FrameURL; open("javascript:function chkframes(elem) { var rep; if (unescape(elem.location) == '".$PageURL."' || '".$PageURL."'=='') { rep=chkimg(elem); if (rep) return rep; } for (var f=0; f<elem.frames.length; f++) { rep=chkframes(elem.frames[f]); if (rep) return rep; } return; } function chkimg(elem){ if(elem.document.images.length>0){ var i; for(i=0;i<elem.document.images.length;i++){ if(unescape(elem.document.images[ i ].src) == '".$ImageURL."'){ return elem.document.images[i]; } } } } function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid losing height information due to integer rounding while zooming out */ image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; } function findIMG() { var img=chkframes(window); zoomImage(img,.5); } void(findIMG());"); } ZoomInImages{ $zoomBy="1"; &zoomImgs; } ZoomInImgs{ open("javascript:(function(){ function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid losing height information due to integer rounding while zooming out */ image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; } for (i=0; i<document.images.length; ++i) zoomImage(document.images[i], 1.1); })();"); } ZoomOutImages{ $zoomBy="-1"; &zoomImgs; } ZoomOutImgs{ open("javascript:(function(){ function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid losing height information due to integer rounding while zooming out */ image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; } for (i=0; i<document.images.length; ++i) zoomImage(document.images[i], .9092); })();"); } ZoomImageLinks{ $macro="ZoomImgLinks"; &JSEnable; } ZoomImgLinks{ open("javascript:{var hrefs=document.getElementsByTagName('A'),images='';for(idx=0;idx<hrefs.length;idx++){href=hrefs[idx].href.toUpperCase(); if(href.indexOf('.GIF')>-1||href.indexOf('.BMP')>-1||href.indexOf('.JPEG')>-1||href.indexOf('.JPG')>-1||href.indexOf('.PNG')>-1)images+='<img src='+hrefs[idx]+'><br><br>';}images='<html><body><center><h2>Images</h2><br><br>'+images+'</center></body></html>';document.write(images);document.close();}"); } ZoomInPage2{ $zoomBy="1"; &zoomImgs; &zoomTxt; } ZoomOutPage2{ $zoomBy="-1"; &zoomImgs; &zoomTxt; } ZoomInPage{ $zoomBy="1"; &zoomImgs; id(ID_FONT_INCREASE); } ZoomInPg{ open("javascript:function zoomImage(image, amt) { if(image.initialHeight == null) {image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; }function rZoomFont(n, node) {for ( var i = 0; i < node.childNodes.length; i++ ) {if (node.childNodes[i].nodeType == 1) rZoomFont(n, node.childNodes[i]);}startSize = getComputedStyle(node,'').getPropertyValue('font-size');startSize = Number(startSize.substr(0,startSize.length-2));lh = getComputedStyle(node,'').getPropertyValue('line-height');if (lh != 'normal') {lh = Number(lh.substr(0,lh.length-2)) * n + 'px';node.style.lineHeight = lh;}newSize = (startSize * n) + 'px';node.style.fontSize = newSize;}rZoomFont(1.1,document.getElementsByTagName('body')[0]); for (i=0; i<document.images.length; ++i) zoomImage(document.images[i], 1.1);"); } ZoomOutPage{ $zoomBy="-1"; &zoomImgs; id(ID_FONT_DECREASE); } ZoomOutPg{ open("javascript:function zoomImage(image, amt) { if(image.initialHeight == null) {image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; }function rZoomFont(n, node) {for ( var i = 0; i < node.childNodes.length; i++ ) {if (node.childNodes[i].nodeType == 1) rZoomFont(n, node.childNodes[i]);}startSize = getComputedStyle(node,'').getPropertyValue('font-size');startSize = Number(startSize.substr(0,startSize.length-2));lh = getComputedStyle(node,'').getPropertyValue('line-height');if (lh != 'normal') {lh = Number(lh.substr(0,lh.length-2)) * n + 'px';node.style.lineHeight = lh;}newSize = (startSize * n) + 'px';node.style.fontSize = newSize;}rZoomFont(0.9092,document.getElementsByTagName('body')[0]); for (i=0; i<document.images.length; ++i) zoomImage(document.images[i], .9092);"); } $zoom="kmeleon.general.zoomButtons"; ZoomSync{ setcheck("macros(ZoomPage)",getpref(STRING,$zoom)==""? true:false); setcheck("macros(ZoomText)",getpref(STRING,$zoom)=="text"? true:false); setcheck("macros(ZoomImages)",getpref(STRING,$zoom)=="images"? true:false); } ZoomSet{ setpref(STRING,$zoom,$var); &Sync; alert($what,Zoom Toolbar Buttons,INFO); } ZoomText{ $var="text"; $what=_("Zoom In/Out toolbar buttons will effect text only."); &ZoomSet; } ZoomImages{ $var="images"; $what=_("Zoom In/Out toolbar buttons will effect images only."); &ZoomSet; } ZoomPage{ $var=""; $what=_("Zoom In/Out toolbar buttons will effect both images and text."); &ZoomSet; } ZoomIn{ $zi=getpref(STRING,$zoom); $zi==""? &ZoomInPage:$zi=="text"? id(ID_FONT_INCREASE):&ZoomInImages; } ZoomInCheck{ $zi=="text"? id(ID_FONT_INCREASE):&ZoomInImages; } ZoomOut{ $zo=getpref(STRING,$zoom); $zo==""? &ZoomOutPage:$zo=="text"? id(ID_FONT_DECREASE):&ZoomOutImages; } ZoomOutCheck{ $zo=="text"? id(ID_FONT_DECREASE):&ZoomOutImages; } # ----BOOKMARK MACROS---- BookSync{ setcheck("macros(BookChev)",getpref(BOOL,"kmeleon.plugins.bookmarks.chevron")); setcheck("macros(FavChev)",getpref(BOOL,"kmeleon.plugins.favorites.chevron")); setcheck("macros(HotChev)",getpref(BOOL,"kmeleon.plugins.hotlist.chevron")); setcheck("macros(OpenBook1)",getpref(STRING,$book)=="ID_OPEN_LINK" ? true:false); setcheck("macros(OpenBook2)",getpref(STRING,$book)=="ID_OPEN_LINK_IN_NEW_WINDOW"? true:false); setcheck("macros(OpenBook3)",getpref(STRING,$book)=="layers(OpenURL)"? true:false); setcheck("macros(OpenBook4)",getpref(STRING,$book)=="layers(OpenURLBg)"? true:false); setcheck("macros(OpenBook5)",getpref(STRING,$book)=="ID_OPEN_LINK_IN_BACKGROUND"? true:false); setcheck("macros(OpenFav1)",getpref(STRING,$fav)=="ID_OPEN_LINK"? true:false); setcheck("macros(OpenFav2)",getpref(STRING,$fav)=="ID_OPEN_LINK_IN_NEW_WINDOW"? true:false); setcheck("macros(OpenFav3)",getpref(STRING,$fav)=="layers(OpenURL)"? true:false); setcheck("macros(OpenFav4)",getpref(STRING,$fav)=="layers(OpenURLBg)"? true:false); setcheck("macros(OpenFav5)",getpref(STRING,$fav)=="ID_OPEN_LINK_IN_BACKGROUND"? true:false); setcheck("macros(OpenHot1)",getpref(STRING,$hot)=="ID_OPEN_LINK"? true:false); setcheck("macros(OpenHot2)",getpref(STRING,$hot)=="ID_OPEN_LINK_IN_NEW_WINDOW"? true:false); setcheck("macros(OpenHot3)",getpref(STRING,$hot)=="layers(OpenURL)"? true:false); setcheck("macros(OpenHot4)",getpref(STRING,$hot)=="layers(OpenURLBg)"? true:false); setcheck("macros(OpenHot5)",getpref(STRING,$hot)=="ID_OPEN_LINK_IN_BACKGROUND"? true:false); } FileBook{ plugin(bookmarks,Add); plugin(bookmarks,Edit); } FileHot{ plugin(hotlist,Add); plugin(hotlist,Edit); } FileFav{ plugin(favorites,Add); plugin(favorites,Edit); } FavToolbar{ $tf="kmeleon.plugins.favorites.toolbarFolder"; $folder=getpref(STRING,$tf); $folder==""? $folder="Links":""; $folder=prompt("Enter the name of the folder to be displayed on your favorites toolbar.","Favorites Toolbar Folder",$folder); $folder==""?"":setpref(STRING,$tf,$folder); $folder==""?"":alert("Favorites Toolbar Folder will be ' " .$folder." ' when K-Ninja is restarted","Favorites Toolbar Folder",INFO); } ChangeLinks{ $tit="kmeleon.plugins.favorites.title"; $favtit=getpref(STRING, $tit); $favtit==""? $favtit="Links":""; $favtit=prompt("Enter the title to be displayed on your favorites toolbar.", "Toolbar Title (Leave blank or click Cancel to remove title)", $favtit); setpref(STRING,$tit,$favtit); alert("Title change will be apparent when K-Ninja is restarted","Favorites Toolbar Title",INFO); } Chevron{ $chevron="kmeleon.plugins.".$plugin.".chevron"; togglepref(BOOL,$chevron); &Sync; getpref(BOOL,$chevron)==true ? $var="- ENABLED":$var="- DISABLED"; alert("\nToolbar Chevron ".$var."\n\n\nChange will be visible when K-Ninja is restarted.","Toolbar Chevron",INFO); } BookChev{ $plugin="bookmarks"; &Chevron; } FavChev{ $plugin="favorites"; &Chevron; } HotChev{ $plugin="hotlist"; &Chevron; } $ol="ID_OPEN_LINK"; $nw="ID_OPEN_LINK_IN_NEW_WINDOW"; $bw="ID_OPEN_LINK_IN_BACKGROUND"; $lo="layers(OpenURL)"; $bl="layers(OpenURLBg)"; $book="kmeleon.plugins.bookmarks.openurl"; $fav="kmeleon.plugins.favorites.openurl"; $hot="kmeleon.plugins.hotlist.openurl"; openurl{ setpref(STRING,"kmeleon.plugins.".$plugin.".openurl",$how); &Sync; } OpenBook1{ $plugin="bookmarks"; $how=$ol; &openurl; } OpenBook2{ $plugin="bookmarks"; $how=$nw; &openurl; } OpenBook3{ $plugin="bookmarks"; $how=$lo; &openurl; } OpenBook4{ $plugin="bookmarks"; $how=$bl; &openurl; } OpenBook5{ $plugin="bookmarks"; $how=$bw; &openurl; } OpenFav1{ $plugin="favorites"; $how=$ol; &openurl; } OpenFav2{ $plugin="favorites"; $how=$nw; &openurl; } OpenFav3{ $plugin="favorites"; $how=$lo; &openurl; } OpenFav4{ $plugin="favorites"; $how=$bl; &openurl; } OpenFav5{ $plugin="favorites"; $how=$bw; &openurl; } OpenHot1{ $plugin="hotlist"; $how=$ol; &openurl; } OpenHot2{ $plugin="hotlist"; $how=$nw; &openurl; } OpenHot3{ $plugin="hotlist"; $how=$lo; &openurl; } OpenHot4{ $plugin="hotlist"; $how=$bl; &openurl; } OpenHot5{ $plugin="hotlist"; $how=$bw; &openurl; } # ----GROUP MACROS---- $kg="kmeleon.group."; $URL=""; $rl="ReplaceLayersInWindow"; $al="AddLayersToWindow"; $gl="GetLayersInWindow"; $fn="FindNick"; $lc=""; $gn="kmeleon.groupnames"; ReadNames{ $names=getpref(STRING, $gn); } Checkname{ $checkname="\n".$name."\n"; $exists=index($names,$checkname); } SaveAsGroup{ &ReadNames; $names==""? $names="\n":0; $group=pluginmsgex(layers,$gl,"",STRING); $name=prompt(_("Enter a Group Name to save these layers as:"),_("Group Name?"),""); $name==""?"": &Checkname; $name==""?"": $exists!=-1? &ConfirmGroup:&SaveGroup; } ConfirmGroup{ confirm(_("Group Name exists. Overwrite?"),sub("%s", $name, _("Group Name '%s' Found")),YESNO,EXCLAIM)=="YES"? setpref(STRING, $kg.$name,$group):&SaveAsGroup; } SaveGroup{ setpref(STRING,$gn,$names.$name."\n"); setpref(STRING,$kg.$name,$group); confirm(sub("%s", $name, "\n"._("Type '%s' in the URL Bar and press SHIFT+ENTER to open it only or ALT+ENTER to open it next to the current layers.")."\n\n"._("Open this Group everytime you start K-Ninja?")),sub("%s", $name, _("Group Saved As: %s")),YESNO)=="NO" ?"":&SetGroup; } SavedGroups{ &ReadNames; $names==""? $var=_("Folder"): $var=_("Group"); $names==""? $names=_("No Group Names Found") ."\n":0; $open=confirm($names."\n\n".sub("%s", $var, _("Open a %s now?")), _("Saved Groups"))=="OK"? &OpenGroup:""; } URLToGroup{ $name=prompt(_("Enter a Group Name to add this URL to:"),_("Group Name?"),""); getpref(STRING,$kg.$name); $group=getpref(STRING,$kg.$name); $name==""?"":$group==""? &NoGroup:&AddURL; } AddURL{ setpref(STRING,$kg.$name,$group.$URL."\t"); $prompt_text=sub("%s",$name,sub("%s", $TITLE, The URL for '%s' has been added to Group: %s)); alert($prompt_text,sub("%s", $name, "Group: '%s' Updated"),INFO); } NoGroup{ alert("No Group Found"); } LayersToGroup { $name=prompt(_("Enter a Group Name to add these layers to"),_("Group Name?"),""); getpref(STRING,$kg.$name); $group=getpref(STRING,$kg.$name); $name==""?"": $group==""? &NoGroup:&AddLayers; } AddLayers{ $curr=pluginmsgex(layers,"GetLayersInWindow","",STRING); setpref(STRING,$kg.$name,$group.$curr); $prompt_text = sub("%s", $var, _("Layers added to Group: %s")); $prompt_title = sub("%s", $var, _("Group: '%s' Updated")); alert($prompt_text,$prompt_title,INFO); } DeleteGroup{ &ReadNames; $names==""? &NoGroup:&ConfirmDelete; } ConfirmDelete{ $open=confirm($names."\n\n"._("Do you want to delete one of these groups?"),_("Saved Groups"),YESNO); $open=="NO"? "":&PromptDelete; } PromptDelete{ $name=prompt(_("Enter Name of Group to Delete:"),_("Group Name?"),""); $name==""?"": &Checkname; $name==""?"": $exists!=-1? &DeleteURLs:&NoGroup; } DeleteURLs{ $names=sub($checkname,"\n",$names); setpref(STRING,$gn,$names); delpref($kg.$name); $prompt_text = sub("%s", $var, _("Group: '%s' deleted.")); alert($prompt_text ,_("Group Deleted"),INFO); } PluginCheck{ $hot=getpref(BOOL,"kmeleon.plugins.bookmarks.load") $hot==false ? $hot=getpref(BOOL,"kmeleon.plugins.hotlist.load"): ""; $hot==false ? $tip=_("Enter Group Name"):$tip=_("Enter Group Name or Folder Nick"); } SetOnly{ setpref(STRING,$og,"layers(ReplaceLayersInWindow)"); } SetNext{ setpref(STRING,$og,"layers(AddLayersToWindow)"); } GroupOnly{ $lc=$rl; &SetOnly; &OpenGroup; $lc=$al; &SetNext; } OpenGroup{ $name=$URLBAR;$name==""?$name=$URL:""; $name==$URL? &PromptGroup:&ChkGroup; } PromptGroup{ &PluginCheck; $name=prompt($tip,_("Group Name?"),""); $name==""?"":&ChkGroup; } ChkGroup{ $group=getpref(STRING,$kg.$name); $group==""? &ChkFolder:&Group; } ChkFolder{ $plugin="bookmarks"; $group=pluginmsgex($plugin,$fn,$name,STRING)==""? $plugin="hotlist":""; pluginmsgex($plugin,$fn,$name,STRING)==""? &ResetURL:&Folder; } Group{ $lc==""? $lc=$al:""; pluginmsg(layers,$lc,$group); } Folder{ $URLBAR=$name; id(ID_NAV_GO); &ResetURL; } # STARTUP GROUP & LAST SESSION MACROS $loaded=""; $sg="kmeleon.general.startGroup"; $sn="kmeleon.general.startGroupName"; $sh="kmeleon.general.startHome"; $og="kmeleon.general.opengroup"; $gt="kmeleon.grouptemp"; $kl="kmeleon.grouplast"; $ln="ID_OPEN_LINK_IN_NEW_WINDOW|ID_OPEN_LINK_IN_BACKGROUND"; GroupsSync{ getpref(BOOL,$sh)==true ? setpref(INT,$sg,0):""; setcheck("macros(StartHome)",getpref(BOOL,$sh)); setcheck("macros(StartBlank)",getpref(INT,$sg)==1? true:false); setcheck("macros(StartGroup)",getpref(INT,$sg)==2? true:false); setcheck("macros(StartLast)",getpref(INT,$sg)==3? true:false); } StartGroup{ $oldname=getpref(STRING,$sn); &PluginCheck; $name=prompt($tip,_("Startup Group Name?"),$oldname); $name==""?"":$group=getpref(STRING,$kg.$name)==""? &FolderCheck:&SetGroup; } FolderCheck{ $plugin="bookmarks"; $group=pluginmsgex($plugin,$fn,$name,STRING)==""? $plugin="hotlist":0; $group=pluginmsgex($plugin,$fn,$name,STRING)==""? &NoStart:&SetGroup; } SetGroup{ setpref(INT,$sg,2); setpref(STRING,$sn,$name); setpref(BOOL,$sh,false); &Sync; } NoStart{ &NoGroup; setpref(STRING,$sn,$oldname); &StartGroup; } StartLast{ setpref(INT,$sg,3); setpref(BOOL, $sh, false); &Sync; } StartHome{ setpref(INT,$sg,0); setpref(BOOL,$sh,true); &Sync; } StartBlank{ setpref(INT,$sg,1); setpref(BOOL,$sh,false); &Sync; } GroupStart{ $name=getpref(STRING,$sn);$theurl=$URLBAR; $theurl=="about:blank"? &LayersCheck:""; $loaded=""; } LayersCheck{ $layer=="true"? &StartLayers:&StartWindows; } StartLayers{ $lc=$rl; &SetOnly; getpref(INT,$sg)==3 ? &OpenLast:&OpenStart; $lc=$al; &SetNext; } OpenLast{ $group=getpref(STRING,$kl); $group==""?"":&Group; } OpenStart{ $name=getpref(STRING,$sn); &ChkGroup; } StartWindows{ setpref(STRING,$og,"ID_OPEN_LINK|ID_OPEN_LINK_IN_BACKGROUND"); $name=getpref(STRING,$sn); getpref(INT,$sg)==3 ?"":&ChkFolder; setpref(STRING,$og,$ln); } GetSetTemp{ $group=pluginmsgex(layers,$gl,"",STRING); setpref(STRING,$gt,$group); } SetLast{ $group=getpref(STRING, $gt); setpref(STRING,$kl,$group); } OpenClosed{ $lc=$rl; $group=getpref(STRING,$gt); $curr=pluginmsgex(layers,$gl,"",STRING); $group==$curr?"":$curr=""; $curr==""? &Group:""; } ReloadAll{ pluginmsg(layers,"AllLayersInWindow","ID_NAV_RELOAD"); } Home{ getpref(INT,$sg)!=2 ? id(ID_NAV_HOME):&OpenStart; } # ----MAIL MACROS---- $mc=$macroPrefBranch."mailClient"; $nc=$macroPrefBranch."newsClient"; defMail{ $base="Software\\Clients\\Mail\\"; $base=$base.readreg("HKLM",$base); $def=readreg("HKLM",$base."\\shell\\open\\command\\"); $sys=readreg("HKLM",$base."\\protocols\\mailto\\shell\\open\\command\\"); $usr=readreg("HKCR","mailto\\shell\\open\\command\\"); $usr==$sys?$client=$def:$client=$usr; } defNews{ $base="Software\\Clients\\News\\"; $base=$base.readreg("HKLM",$base); $def=readreg("HKLM",$base."\\shell\\open\\command\\"); $sys=readreg("HKLM",$base."\\protocols\\news\\shell\\open\\command\\"); $usr=readreg("HKCR","news\\shell\\open\\command\\"); $usr==$sys?$client=$def:$client=$usr; } MNgetPref{ $client=getpref(STRING,$mnPref); } MNsetPref{ setpref(STRING,$mnPref,$client); } MNcfg{ &MNgetPref; $client==""?macros($macro):""; $client=prompt($txt,$tit,$client); $client==""?"":&MNsetPref; } MNopen{ &MNgetPref; # Client not set? Configure! $client==""?macros($macro):""; # Client (now) set? Open! $client==""?"":(index($client,"://")==-1?exec($client):opennew($client)); } Mail{ $mnPref=$mc; $macro="MCFG"; &MNopen; } News{ $mnPref=$nc; $macro="NCFG"; &MNopen; } MCFG{ $mnPref=$mc; $macro="defMail"; $txt=_("Enter your mail client's path or your web mailer's URL:"); $tit=_("Configure Mail"); &MNcfg; } NCFG{ $mnPref=$nc; $macro="defNews"; $txt=_("Enter your news client's path or your newsgroups provider's URL:"); $tit=_("Configure Newsgroups"); &MNcfg; } Compose{ open("mailto:"); } EmailURL{ $JSdoit="with(top.document)location='mailto:?subject='+encodeURIComponent(title)+'&body='+encodeURIComponent(URL)"; &hndlDoc; } EmailImageURL{ $JSdoitImg="location='mailto:?subject='+encodeURIComponent((title)?title:((alt)?alt:document.title))+'&body='+encodeURIComponent(src)"; &hndlImg; } EmailFrameURL{ $JSdoit="location='mailto:?subject='+encodeURIComponent(title)+'&body='+encodeURIComponent(URL)"; &hndlDoc; } EmailText{ $JSdoit="if(getSelection())location='mailto:?subject='+encodeURIComponent(title)+'&body='+encodeURIComponent(getSelection())"; &hndlDoc; } # ----PRIVACY MACROS---- $animation="image.animation_mode"; $colors="browser.display.use_document_colors"; $cookies="network.cookie.cookieBehavior"; $images="permissions.default.image"; $java="security.enable_java"; $jscript="javascript.enabled"; $popups="dom.disable_open_during_load"; $referer="network.http.sendRefererHeader"; PrivacySync{ setcheck("macros(BlockScripts)",getpref(BOOL,$flip)); setcheck("macros(AllowScripts)",getpref(BOOL,$flip)==false ? true:false); setcheck("macros(AniToggle)",getpref(STRING,$animation)=="none"? true:false); pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(AniToggle),".(getpref(STRING,$animation)=="none"? 1:0)); setcheck("macros(CToggle)",getpref(BOOL,$colors)? false:true); pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(CToggle),".(getpref(BOOL,$colors)? 0:1)); setcheck("macros(CKToggle)", getpref(INT,$cookies)); pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(CKToggle),".(getpref(INT,$cookies)==2? 1:0)); setcheck("macros(ImgToggle)",getpref(INT,$images)==1? false:true); pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(ImgToggle),".(getpref(INT,$images)==1? 0:1)); setcheck("macros(JToggle)", getpref(BOOL,$java)? false:true); pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(JToggle),".(getpref(BOOL,$java)? 0:1)); setcheck("macros(JSToggle)",getpref(BOOL,$jscript)? false:true); pluginmsg(toolbars, "CheckButton", "Javascript button, macros(JSToggle), " . (getpref(BOOL, $jscript) ? 0 : 1)); pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(JSToggle),".(getpref(BOOL,$jscript)? 0:1)); setcheck("macros(PBToggle)",getpref(BOOL,$popups)); pluginmsg(toolbars,"CheckButton","Main Bar,macros(PBToggle),".(getpref(BOOL,$popups)? 1:0)); pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(PBToggle),".(getpref(BOOL,$popups)? 1:0)); setcheck("macros(RefToggle)",getpref(INT,$referer)==1? false:true); pluginmsg(toolbars,"CheckButton","Privacy Bar,macros(RefToggle),".(getpref(INT,$referer)? 0:1)); } AniToggle { togglepref(STRING,$animation,"normal","none"); &Sync; getpref(STRING,$animation)=="none"?$tip=_("BLOCKED"):$tip=_("ALLOWED"); statusbar(_("Animation ").$tip); } CToggle{ togglepref(BOOL,$colors); &PrivacySync; getpref(BOOL,$colors)==false ? $tip=_("BLOCKED"):$tip=_("ALLOWED"); statusbar(_("Page Colors ").$tip); } CKToggle { togglepref(INT,$cookies,2,0); &PrivacySync; getpref(INT,$cookies)==2 ? $tip=_("BLOCKED"):$tip=_("ALLOWED"); statusbar(_("Cookies ").$tip); } PBToggle{ togglepref(BOOL,$popups); &PrivacySync; getpref(BOOL,$popups)==true ? $tip=_("BLOCKED"):$tip=_("ALLOWED"); statusbar(_("Popups ").$tip); } JToggle{ togglepref(BOOL,$java); &PrivacySync; getpref(BOOL,$java)==false ? $tip=_("BLOCKED"):$tip=_("ALLOWED"); statusbar(_("Java ").$tip); } JSToggle{ togglepref(BOOL,$jscript); &PrivacySync; getpref(BOOL,$jscript)==false ? $tip=_("BLOCKED"):$tip=_("ALLOWED"); statusbar(_("JavaScript ").$tip); } ImgToggle { togglepref(INT,$images,1,2); &PrivacySync; getpref(INT,$images)==2 ? $tip=_("BLOCKED"):$tip=_("ALLOWED"); statusbar(_("Images ").$tip); } RefToggle { togglepref(INT,$referer,1,2); &PrivacySync; getpref(INT,$referer)==1 ? $tip=_("ALLOWED"):$tip=_("BLOCKED"); statusbar(_("Referer ").$tip); } $ua="general.useragent.override"; $uas=""; $pu="kmeleon.privacy.useragent"; $ps=".string"; $uar="kmeleon.privacyUA.noReset"; $ua="general.useragent.override"; $uas=""; $pu="kmeleon.privacy.useragent"; $ps=".string"; $uar="kmeleon.privacyUA.noReset"; # ---- User Agent ---- UASync{ setcheck("macros(UA)",""==getpref(STRING,$ua)? true:false); setcheck("macros(UA1)",getpref(STRING,$pu."1".$ps)==getpref(STRING,$ua)? true:false); setcheck("macros(UA2)",getpref(STRING,$pu."2".$ps)==getpref(STRING,$ua)? true:false); setcheck("macros(UA3)",getpref(STRING,$pu."3".$ps)==getpref(STRING,$ua)? true:false); setcheck("macros(ResetUA)",getpref(BOOL,$uar)?false:true); } UA{ delpref($ua); &Sync; } UA1{ $uas=getpref(STRING,$pu."1".$ps); &SetUA; } UA2{ $uas=getpref(STRING,$pu."2".$ps); &SetUA; } UA3{ $uas=getpref(STRING,$pu."3".$ps); &SetUA; } UACust{ $uas=getpref(STRING,$ua); $uas=prompt(_("Enter the User Agent string to identify K-Ninja as:"),_("Custom User Agent"),$uas); $uas==""?"":&SetUA; } SetUA{ setpref(STRING,$ua,$uas); &UASync; } ResetUA{ togglepref(BOOL,$uar); &UASync; } ClearAll{ plugin(privacy,ClearCache); plugin(privacy,ClearCookies); plugin(privacy,ClearHistory); plugin(privacy,ClearMRU); plugin(privacy,ClearSignon); } KillFlash{ $JSdoit="del(w.document,'object');del(w.document,'embed')"; &Kill; } KillApplets{ $JSdoit="del(w.document,'applet')"; &Kill; } Kill{ $JSfunc="function del(doc,tag){for(var d,e=doc.getElementsByTagName(tag),j=e.length-1;j+1;j--){d=doc.createElement('div');d.innerHTML='<del>'+tag+'</del>';d.style.height=e[j].height;d.style.width=e[j].width;e[j].parentNode.replaceChild(d,e[j])}}"; &hndlDocs; } # ----LAYER MACROS---- LayerSync{ setcheck("macros(Enumerate)",getpref(BOOL,$num)); setcheck("macros(Pressed)",getpref(INT,$style)==2? true:false); setcheck("macros(Pressed+)",getpref(INT,$style)==10? true:false); setcheck("macros(Buttons)",getpref(INT,$style)==6? true:false); setcheck("macros(Buttons+)",getpref(INT,$style)==14? true:false); setcheck("macros(SetCloseLast)",getpref(INT,$onClose)==0? true:false); setcheck("macros(SetCloseLeft)",getpref(INT,$onClose)==1? true:false); setcheck("macros(SetCloseRight)",getpref(INT,$onClose)==2? true:false); setcheck("macros(SetOpenNext)",getpref(INT,$onOpen)==1? true:false); setcheck("macros(SetOpenLast)",getpref(INT,$onOpen)==0? true:false); setcheck("macros(ConfirmToggle)",getpref(BOOL,$confirm)); } LayersSync{ getpref(BOOL,$layers)==false ? setpref(BOOL,$catch,false):""; getpref(BOOL,$layers)==false ? setpref(STRING,$mode,"WINDOWS ONLY"):(getpref(BOOL,$catch)==true ? setpref(STRING,$mode,"LAYERS ONLY"):setpref(STRING,$mode,"")); setcheck("macros(LayersOnly)",getpref(BOOL,$catch)==true ? true:false); setcheck("macros(LayersWindows)",getpref(STRING,$mode)==""? true:false); setcheck("macros(WindowsOnly)",$layer==false ? true:false); setcheck("macros(URLInCurr)",getpref(STRING,$ou)=="ID_OPEN_LINK"? true:false); setcheck("macros(URLInNew)", getpref(STRING,$ou)=="ID_OPEN_LINK_IN_NEW_WINDOW"? true:false); setcheck("macros(URLInLayer)",getpref(STRING,$ou)=="layers(OpenURL)"? true:false); setcheck("macros(URLInBg)",getpref(STRING,$ou)=="ID_OPEN_LINK_IN_BACKGROUND"? true:false); setcheck("macros(URLInBgLayer)",getpref(STRING,$ou)=="layers(OpenURLBg)"? true:false); } $catch="kmeleon.plugins.layers.catchOpen"; $mode="kmeleon.general.mode"; $flip="dom.disable_window_flip"; LayersOnly{ $var="LAYERS ONLY"; setpref(BOOL,$layers,true); setpref(BOOL,$catch,true); $bool=true; $menu=false; &Scripts; setpref(STRING,$mode,$var); &Sync; alert("All new windows will open in layers. If switching from Windows Only mode, you'll need to restart K-Ninja for Layers Only mode to take effect.","Browsing Mode: ".$var,INFO); } LayersWindows{ $var=""; setpref(BOOL,$layers,true); setpref(BOOL,$catch,false); setpref(STRING,$mode,$var); &Sync; alert("You will now be able to browse using layers and multiple windows. If switching from Windows Only mode, you'll need to restart K-Ninja for Layers and Windows mode to take effect.","Browsing Mode: Layers & Windows", INFO); } WindowsOnly{ $var="WINDOWS ONLY"; $quest=confirm("\nWindows Only mode will disable the layers plugin. Groups and Sessions will not be available, only Folder Groups for Bookmarks & Hotlist plugin users.\n\n\nDo you want to disable the layers plugin?","Browsing Mode: ".$var,YESNO,EXCLAIM); $quest=="NO"?"":&SetWO; } SetWO{ setpref(BOOL,$layers,false); setpref(BOOL,$catch,false); setpref(STRING,$mode,$var); &Sync; alert("Restart K-Ninja for Windows Only mode to take effect.","Browsing Mode: ".$var,INFO); } BlockScripts{ $bool=true; $menu=false; &Scripts; &Sync; alert("Sites are now BLOCKED from hiding toolbars, resizing the browser and disabling context menus.",Scripts,INFO); } AllowScripts{ $bool=false; $menu=true; &Scripts; &Sync; alert("Sites are now ALLOWED to hide toolbars, resize the browser and disable context menus.",Scripts, INFO); } Scripts{ setpref(BOOL,$flip,$bool); setpref(BOOL,"dom.disable_window_move_resize",$bool); setpref(BOOL,"dom.disable_window_open_feature.*",$bool); setpref(BOOL,"dom.disable_window_open_feature.minimizable",$bool); setpref(BOOL,"dom.disable_window_open_feature.titlebar",$bool); setpref(BOOL,"dom.disable_window_open_feature.close",$bool); setpref(BOOL,"dom.disable_window_open_feature.toolbar",$bool); setpref(BOOL,"dom.disable_window_open_feature.location",$bool); setpref(BOOL,"dom.disable_window_open_feature.directories",$bool); setpref(BOOL,"dom.disable_window_open_feature.personalbar",$bool); setpref(BOOL,"dom.disable_window_open_feature.menubar",$bool); setpref(BOOL,"dom.disable_window_open_feature.scrollbars",$bool); setpref(BOOL,"dom.disable_window_open_feature.resizable",$bool); setpref(BOOL,"dom.disable_window_open_feature.status",$bool); setpref(BOOL,"dom.disable_window_status_change",$bool); setpref(BOOL,"dom.event.contextmenu.enabled",$menu); } $num="kmeleon.plugins.layers.numbers"; $style="kmeleon.plugins.layers.style"; LayerAlert{ alert("Some changes will only be fully apparent when the next layer is opened.","Layer Appearance Change Completed",INFO); } Enumerate{ togglepref(BOOL,$num); &Sync; &LayerAlert; } Style{ setpref(INT,$style,$int); &Sync; &LayerAlert; } Pressed{ $int=2; &Style; } Pressed+{ $int=10; &Style; } Buttons{ $int=6; &Style; } Buttons+{ $int=14; &Style; } LayersTitle{ $lt="kmeleon.plugins.layers.title"; $var=getpref(STRING, $lt); $var==""?$var="Layers:":""; $var=prompt("Enter layer bar title:","Layer Bar Title ( To remove title, leave blank or Cancel )",$var); setpref(STRING,$lt,$var); alert("Layer bar title = ".$var."\n\nChange will be visible when K-Ninja is restarted.","Layer Bar Title",INFO); } LayerWidth{ $max="kmeleon.plugins.layers.maxWidth"; $min="kmeleon.plugins.layers.minWidth"; $maxwid=getpref(INT,$max); $minwid=getpref(INT,$min); $maxwid==0 ? $maxwid=35:""; $maxwid=prompt("Enter Maximum Width:",Maximum Width,$maxwid); $maxwid==""?"":setpref(INT,$max,$maxwid); $maxwid==""?"":$minwid=prompt("Enter Minimum Width:",Minimum Width,$minwid); $maxwid==""?"":$minwid==""?"":setpref(INT,$min,$minwid); $maxwid==""?"":$minwid==""?"":alert("Maximum = ".$maxwid."\nMinimum = ".$minwid,"Layer Bar Button Width",INFO); } $onClose="kmeleon.plugins.layers.onCloseOption"; $onOpen="kmeleon.plugins.layers.onOpenOption"; SetCloseRight{ setpref(INT,$onClose,2); &Sync; } SetCloseLeft{ setpref(INT,$onClose,1); &Sync; } SetCloseLast{ setpref(INT,$onClose,0); &Sync; } SetOpenNext{ setpref(INT,$onOpen,1); &Sync; } SetOpenLast{ setpref(INT,$onOpen,0); &Sync; } $confirm="kmeleon.plugins.layers.confirmClose"; ConfirmToggle{ togglepref(BOOL,$confirm); &Sync; getpref(BOOL,$confirm)==false ? $tip="DISABLED":$tip="ENABLED"; statusbar("Confirm before close ".$tip); } Selected{ $old=getclipboard(); setclipboard(); id(ID_EDIT_COPY); $add=getclipboard(); } New{ $add=$SelectedText; $URLBAR=$URL; $add==""? &Open:(getpref(STRING,$ou)!="ID_OPEN_LINK"? &PasteSel:&OpenNew); } Open{ $layer==true ? plugin(layers,Open):id(ID_NEW_BROWSER); } OpenNew{ &ResetURL; $layer==true ? pluginmsg(layers,OpenURL,"about:blank"):opennew("about:blank"); $loaded="go";$go_url = $add; } PasteSel{ $add==""?id(ID_NAV_GO): $URLBAR=$add;id(ID_NAV_GO); } go{ $URLBAR=$go_url;id(ID_NAV_GO);$loaded=""; } # ----URL BAR MACROS---- SelectGo{ $selection=$SelectedText; $selection==""?"":$URLBAR=$selection; id(ID_NAV_GO); } Copy{ id(ID_SELECT_URL); id(ID_EDIT_COPY); } PasteGo{ $URLBAR=getclipboard();id(ID_NAV_GO); } $ou="kmeleon.general.openurl"; URLBar{ setpref(STRING,$ou,$var); &Sync } URLInCurr{ $var="ID_OPEN_LINK"; &URLBar; } URLInLayer{ $var="layers(OpenURL)"; &URLBar; } URLInNew{ $var="ID_OPEN_LINK_IN_NEW_WINDOW"; &URLBar; } URLInBgLayer{ $var="layers(OpenURLBg)"; &URLBar; } URLInBg{ $var="ID_OPEN_LINK_IN_BACKGROUND"; &URLBar; } OpenInNew{ $old=getpref(STRING,$ou); $layer==true? &URLInLayer:&URLInNew; id(ID_NAV_GO); setpref(STRING,$ou,$old); } up_directory { $var=dirname($URL); $var=="."?"":open($var."/"); } top_level { InjectJS("location.pathname = \"\""); } top{ open("javascript:location.pathname = ""; void 0"); } $dom="kmeleon.general.domComplete"; ctrl_enter{ $var="0"; &GetComplete; &Domain; } ctrl_alt_enter{ $var="1"; &GetComplete; &Domain; } ctrl_shift_enter{ $var="2"; &GetComplete; &Domain; } GetComplete{ $prefix=getpref(STRING,$dom.$var.".prefix"); $prefix==""? $prefix="http://www.":""; $suffix=getpref(STRING,$dom.$var.".suffix"); $var=="0"?($suffix==""?$suffix=".com":"";):""; $var=="1"?($suffix==""?$suffix=".net":"";):""; $var=="2"?($suffix==""?$suffix=".org":"";):""; } Domain{ $old=getclipboard(); setclipboard(); id(ID_SELECT_URL); id(ID_EDIT_COPY); $theurl=getclipboard(); $theurl==""? &ResetURL: &Complete; setclipboard($old); } Complete{ $fullurl=$prefix.$theurl.$suffix; setclipboard($fullurl); id(ID_EDIT_PASTE); id(ID_NAV_GO); } CEConfig{ $var="0"; &GetComplete; $tip="Ctrl + Enter"; &DomConfig; } CAEConfig{ $var="1"; &GetComplete; $tip="Ctrl + Alt + Enter"; &DomConfig; } CSEConfig{ $var="2"; &GetComplete; $tip="Ctrl + Shift + Enter"; &DomConfig; } DomConfig{ $prefix=prompt("Prefix:",$tip,$prefix); $prefix==""?"":setpref(STRING,$dom.$var.".prefix", $prefix); $prefix==""?"":$suffix=prompt("Suffix:",$tip,$suffix); $prefix==""?"":$suffix==""?"":setpref(STRING,$dom.$var.".suffix", $suffix); $prefix==""?"":$suffix==""?"":alert($prefix." + ".$suffix,$tip,INFO); } $dc=$macroPrefBranch."domComplete"; domComplete0{ $n="0"; &DCgo; } domComplete1{ $n="1"; &DCgo; } domComplete2{ $n="2"; &DCgo; } DCgetPref{ $prefix=getpref(STRING,$dc.$n.".prefix"); $suffix=getpref(STRING,$dc.$n.".suffix"); } DCgo{ &DCgetPref; $theurl=$URLBAR; $theurl==""?"":$theurl=$prefix.$theurl.$suffix; $theurl==""?"":$URLBAR=$theurl; $theurl==""?"":id(ID_NAV_GO); } domComplete0cfg{ $n="0"; $accel=_("Ctrl+Enter"); &DCset; } domComplete1cfg{ $n="1"; $accel=_("Ctrl+Alt+Enter"); &DCset; } domComplete2cfg{ $n="2"; $accel=_("Ctrl+Shift+Enter"); &DCset; } DCset{ $prompt_prefix = sub("%s", $accel, _("On %s add prefix:")); $prompt_suffix = sub("%s", $accel, _("On %s add suffix:")); $prompt_open = sub("%s", $accel, _("%s will open:")); &DCgetPref; $tit=_("Domain Completion"); $prefix=prompt($prompt_prefix,$tit,$prefix); $prefix==""?"":$suffix=prompt($prompt_suffix ,$tit,$suffix); $prefix==""?"":$suffix==""?"":&DCsetPref; } DCsetPref{ setpref(STRING,$dc.$n.".prefix",$prefix); setpref(STRING,$dc.$n.".suffix",$suffix); alert($prompt_open."\n\n".$prefix._("<URLBarText>").$suffix,$tit,INFO); } $path=getpref(STRING,"kmeleon.general.profileDir"); # ----DOWNLOAD MACROS---- $sd="kmeleon.general.saveDir"; $sp="kmeleon.general.savePageDir"; $si="kmeleon.general.saveImageDir"; $sld="kmeleon.general.saveLinkDir"; $dir="kmeleon.general.profileDir"; $path=getpref(STRING, $dir); GetDir{ $which=getpref(STRING,$el); } GetDef{ $el=$sd; $dl="Default"; &GetDir; } GetPage{ $el=$sp; $dl="Save Page As"; &GetDir; } GetImage{ $el=$si; $dl="Save Image As"; &GetDir; } GetLink{ $el=$sld; $dl="Save Link As"; &GetDir; } Save{ &GetDef; $oldsave=$which; macros($get); setpref(STRING,$sd,$which); id($id); setpref(STRING,$sd,$oldsave); } SavePage{ $get="GetPage"; $id="ID_FILE_SAVE_AS"; &Save; } SaveFrame{ $get="GetPage"; $id="ID_FILE_SAVE_FRAME_AS"; &Save; } SaveImage{ $get="GetImage"; $id="ID_SAVE_IMAGE_AS"; &Save; } SaveLink{ $get="GetLink"; $id="ID_SAVE_LINK_AS"; &Save; } SetDir{ $savetip="Enter Directory Path. (Include backslash at the end of folder name.)"; $which==""?$which=$path:""; $which=prompt($savetip,$dl,$which); $which==""?"":setpref(STRING,$el,$which); $which==""?"":$savepath=$which; $which==""?"":&AlertSave; } DefaultDir{ &GetDef; &SetDir; } PageDir{ &GetPage; &SetDir; } ImageDir{ &GetImage; &SetDir; } LinkDir{ &GetLink; &SetDir; } AlertSave{ &GetDef; $def=$which; $dtip=$dl; &GetPage; $page=$which; $ptip=$dl; &GetImage; $image=$which; $itip=$dl; &GetLink; $link=$which; $ltip=$dl; alert($dtip." = ".$def.\n.$ptip." = ".$page.\n.$itip." = ".$image.\n.$ltip." = ".$link, "Download Directories",INFO); } # ----MOUSE GESTURES---- $mouse="kmeleon.plugins.gestures."; MGSync{ setcheck("macros(Gestures)",getpref(BOOL,$mouse."load")); } Gestures{ togglepref(BOOL,$mouse."load"); &Sync; getpref(BOOL,$mouse."load")==true ? $tip="ENABLED":$tip="DISABLED"; alert("Mouse Gestures will be ".$tip." when K-Meleon is restarted.","Mouse Gestures ".$tip,INFO); } GestGuide{ $var=confirm("*M O U S E G E S T U R E S C O N F I G U R A T I O N G U I D E*\n\nThis guide will present a prompt for each available mouse gesture. Each prompt will show the gesture in the title bar. Enter the command or macro that you'd like to use for each gesture. For your convenience, you can copy and paste the command or macro from the available commands list.\n\n\nDo you want to view a list of the available commands and macros to use for the gestures? (Recommended)","MOUSE GESTURES",YESNOCANCEL); $var=="YES"? &Commands1st:0; $var=="NO"? &left:0; $var=="CANCEL"?"":0; } Commands1st{ &Commands; &left; } GestCFG{ $cmd=getpref(STRING,$mouse.$gest); $cmd=prompt("Enter ID_COMMAND, PLUGIN COMMAND, or MACRO for this gesture.",$gest,$cmd); $cmd==""?"":setpref(STRING,$mouse.$gest,$cmd); $cmd==""?"":confirm($gest." = ".$cmd."\n\nConfigure next gesture?","MOUSE GESTURE",YESNO)=="YES"? macros($next):0; } left{ $gest="left"; $next="right"; &GestCFG; } right{ $gest="right"; $next="down"; &GestCFG; } down{ $gest="down"; $next="downleft"; &GestCFG; } downleft{ $gest="downleft"; $next="downright"; &GestCFG; } downright{ $gest="downright"; $next="up"; &GestCFG; } up{ $gest="up"; $next="upleft"; &GestCFG; } upleft{ $gest="upleft"; $next="upright"; &GestCFG; } upright{ $gest="upright"; $next="left"; &GestCFG; } # ----CONFIG MACROS---- $skindir=getpref(STRING,"kmeleon.general.skinsDir"); $skin=getpref(STRING,"kmeleon.general.skinsCurrent"); $defaultAction="open"; $defaultEditor=getpref(STRING,$macroPrefBranch."configCommand"); getExtensionHandler{ $defaultEditor==""?$defaultEditor="notepad.exe %1":""; $doctype=readreg("HKCR",".".$ext."\\"); $doctype==""?$cmdline=$defaultEditor:$cmdline=""; $shell="\\shell\\"; $command="\\command\\"; $cmdline==""?$defactn=readreg("HKCR",$doctype.$shell):""; $cmdline==""?($defactn==""?$cmdline=readreg("HKCR",$doctype.$shell.$defaultAction.$command):$cmdline=readreg("HKCR",$doctype.$shell.$defactn.$command)):""; # DDE is not supported here: index($cmdline,"%1")?"":$cmdline=$defaultEditor; $doctype=readreg("HKCR",$doctype."\\"); $doctype==""?$doctype=sub("%s",$ext,_("%s File")):""; $defaultAction="open"; } getSecureExtensionHandler{ # use for script files $defaultAction="edit"; &getExtensionHandler; } Commands{ $ext="txt"; &getExtensionHandler; exec(sub("%1",$skindir."commands.txt",$cmdline)); } Toolbars{ $ext="cfg"; &getExtensionHandler; exec(sub("%1",$skindir.$skin."toolbars.cfg",$cmdline)); } Macros{ exec("notepad.exe ".$path."macros.cfg"); } Menus{ exec("notepad.exe ".$path."menus.cfg"); } Accel{ exec("notepad.exe ".$path."accel.cfg"); } Prefs{ #exec("notepad.exe ".$path."prefs.js"); $ext="js"; &getSecureExtensionHandler; exec(sub("%1",$path."prefs.js",$cmdline)); } User{ $ext="js"; &getSecureExtensionHandler; exec(sub("%1",$path."user.js",$cmdline)); } UserContent{ $ext="css"; &getExtensionHandler; exec(sub("%1",$path."chrome\\userContent.css",$cmdline)); } CSSFilters{ $ext="css"; &getExtensionHandler; exec(sub("%1",$path."\chrome\\adblock.css",$cmdline)); } GestureCmds{ $ext="cfg"; &getExtensionHandler; exec(sub("%1",$path."gestures.cfg",$cmdline)); } ProfD{ exec("explorer.exe \"".$path."\""); } JSConsole{ # Default Console: #$xul="chrome://global/content/console.xul"; &XULDialog; # Console2: $xul="chrome://console2/content/console2.xul"; &XULDialog; } XULDialog{ opennew($xul); } XUL{ $layer==true ? pluginmsg(layers,OpenURL,$xul):opennew($xul); } AllPrefs{ $xul="about:config"; &XUL; } RSS{ $macro="rss"; &Frm1st; } rss{ $xul="chrome://aggreg8/content/aggreg8.xul"; &XUL; } Flashblock{ $xul="chrome://flashblock/content/options.xul"; &XUL; } Quicknote{ $xul = "chrome://quicknote/content/quicknote.xul"; &XUL; } Master{ $xul="chrome://pippki/content/pref-masterpass.xul"; &XULDialog; } Cert{ $xul="chrome://pippki/content/certManager.xul"; &XULDialog; } # ----MISC. MACROS---- SetHome{ setpref(STRING,"kmeleon.general.homePage",$URL); setpref(INT,$sg,0); setpref(BOOL,$sh,true); &Sync; alert(sub("%s",$TITLE,_("'%s' is now your Home Page.")),_("Home Page Updated"),INFO); } KMWiki{ open("http://kmeleon.sourceforge.net/wiki/index.php?id=Welcome"); } LinkInfo { confirm($LinkURL."\n\n\nDo you want to go to this address now?","URL OF SELECTED LINK:",YESNO)=="YES"? open($LINKURL):""; } ListLinks{ $macro="ViewPageLinks";&PBDisable; } ListFrameLinks{ $macro="ViewFrameLinks";&PBDisable; } PBDisable{ getpref(BOOL,$popups)==true ? &PB:macros($macro); } PB{ &PBToggle; macros($macro); &PBToggle; } ViewLinks{ $JSfunc="var h='kmHOST',l='kmLINK',w=window.name,n=(w&&!document.getElementsByTagName('body')[0])?w.replace(h,''):Math.floor(Math.random()*1000),hostWinName=window.name=h+n,linkWinName=l+n,linkWin=open('',linkWinName,'left=0,top=0,width=600,height=300,status=yes');linkWin.document.write('<head><base target=\"'+hostWinName+'\"><link rel=\"stylesheet\" type=\"text/css\" href=\"'+encodeURI('".$macroResLoc."')+'macros.css\">');with(document)linkWin.document.write('<title>"._("Page Links:")." '+((title)?title:unescape(URL))+'</title></head><body class=\"kmViewLinks\">');"; $JSdoit="if(getElementsByTagName('body')[0]){var d=linkWin.document;d.write('<fieldset><legend>'+((title)?title:unescape(URL)).link(URL)+'</legend><ol>');if(links.length)for(var j=0;j<links.length;j++)d.write('<li>'+((links[j].text)?links[j].text.link(links[j]):unescape(links[j]).link(links[j]))+'</li>');else d.write('<p>"._("No links found.")."</p>');d.write('</ol></fieldset>')}"; $JSlast="linkWin.document.write('</body>');linkWin.document.close();linkWin.focus()"; } ViewPageLinks{ &ViewLinks; &hndlDocs; } ViewFrameLinks{ &ViewLinks; &hndlDoc; } FrameInLayer{ pluginmsg(layers,OpenURL,$FRAMEURL); } FrameInBack{ $layer==true ? pluginmsg(layers,OpenURLBg,$FRAMEURL):OpenBg($FRAMEURL); } ReloadFrame{ $JSdoit="location.reload()"; &hndlDoc; } getIE{ $ie=readreg("HKCR","Applications\\iexplore.exe\\shell\\open\\command\\"); $ie==""?$ie="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" %1":""; } URLInIE{ $theurl=$URLBAR; $theurl==""? $theurl=$URL:""; &getIE; exec(sub("%1",$theurl,$ie)); } LinkInIE{ &getIE; exec(sub("%1",$LINKURL,$ie)); } STP{ exec("c:\\Program Files\\K-Ninja2\\Tools\\STP\\STP.exe "); } Continuous{ getpref(BOOL,$jscript)==false ? (confirm(_("JavaScript is currently disabled. It must be enabled to use this feature.")."\n\n\n"._("Enable JavaScript and continue?"),_("JavaScript Disabled"),YESNO,EXCLAIM)=="YES" ? &JS1st:""):&Reload; } JS1st{ &JSToggle; &Reload; } Reload{ open("javascript:(function(){var intv=prompt('Enter number of seconds between reloads. (Click Back button to stop)');if(intv&&!isNaN(intv)){with(document){write('<html><frameset rows=\"*,22\" framespacing=0 border=0 frameborder=no><frame noresize frameborder=no><frame scrolling=no noresize frameborder=no></frameset></html>');frames[0].location.href=document.location.href;var docstr='<html><body bgcolor=cyan style=\"margin-top:0px\">\n';docstr+='Reloading in <span id=\"caption\"></span>secs.</body>\n';docstr+='<script>\nvar reloadIntv='+intv+';\nvar secsLeft='+intv+';\nfunction reloadFrame(){secsLeft=reloadIntv+1;parent.frames[0].location.href=parent.frames[0].location.href;}\nfunction countDown(){secsLeft--;showTime();}\nfunction showTime(){document.getElementById(\"caption\").innerHTML=parseInt(secsLeft)+\" \";}\nsetInterval(\"reloadFrame()\",'+intv*1000+');\nsetInterval(\"countDown()\",1000);\nshowTime();\n</script>\n</html>';frames[1].document.write(docstr);}}})()"); } # Multi Search ------------------------------------------------------------------ $meta1="http://www.google.com/search?num=100&query="; $Umlauts1=true;$Accents1=false; $meta2="http://search.msn.com/results.aspx?srch_type=0&FORM=QBHP&geovar=150&q="; $Umlauts2=true;$Accents2=false; $meta3="http://www.alltheweb.com/search?q="; $Umlauts3=true;$Accents3=false; $meta4="http://images.google.com/images?btnG=Google+Search&safe=off&filter=0&q="; $Umlauts4=true;$Accents4=false; $meta5="http://web.ask.com/web?qsrc=0&o=0&q="; $Umlauts5=true;$Accents5=false; $meta6="http://www.gigablast.com/search?quote1="e2=&q=-=&url=&link=&sc=1&ns=5&n=100&sites=&plus="; $Umlauts6=true;$Accents6=false; search_multi{ menu = "MultiSearch"; $word = prompt("Enter search query:", "MultiSearch - Mutiple Search Engines"); $string=$word; $Umlauts2 ? &Umlauts:0; $Accents2 ? &Accents:0; $word == "" ? 0 : id(ID_NEW_BROWSER); $word == "" ? 0 : open( $meta2 . $word); $worl=$string; $Umlauts3 ? &Umlauts:0; $Accents3 ? &Accents:0; $meta=$meta3 $word == "" ? 0 : &ViewMeta; $worl=$string; $Umlauts4 ? &Umlauts:0; $Accents4 ? &Accents:0; $meta=$meta4 $word == "" ? 0 : &ViewMeta; $worl=$string; $Umlauts5 ? &Umlauts:0; $Accents5 ? &Accents:0; $meta=$meta5 $word == "" ? 0 : &ViewMeta; $worl=$string; $Umlauts6 ? &Umlauts:0; $Accents6 ? &Accents:0; $meta=$meta6 $word == "" ? 0 : &ViewMeta; $worl=$string; $Umlauts1 ? &Umlauts:0; $Accents1 ? &Accents:0; $meta=$meta1 $word == "" ? 0 : &ViewMeta; } OpenMeta{ $word == "" ? 0 : id(ID_NEW_BROWSER); $word == "" ? 0 : open( $meta2 . $word); } ViewMeta{ getpref(STRING,$mode) == "WINDOWS ONLY" ? opennew($meta . $word):pluginmsg(layers,"OpenURL",$meta . $word); } # TRANSLATION MACROS $prefix = ""; translate{ $LINKURL = ""; $LINKURL == "" ? $theurl = $URL : $theurl = $LINKURL; $prefix == "" ? open($lang . $theurl) : open($prefix . $theurl . $suffix); } german{ menu=From German $lang = "http://216.239.37.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=de%7Cen&u="; &translate; } spanish{ menu=From Spanish $lang = "http://216.239.37.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=es%7Cen&u="; &translate; } french{ menu=From French $lang = "http://216.239.37.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=fr%7Cen&u="; &translate; } italian{ menu=From Italian $lang = "http://216.239.37.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=it%7Cen&u="; &translate; } portuguese{ menu=From Portuguese $lang = "http://216.239.37.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=pt%7Cen&u="; &translate; } russia{ menu=From Russian $prefix="http://babelfish.altavista.com/babelfish/urltrurl?tt=url&url=http%3A%2F%2F"; $suffix="%2F&lp=ru_en"; &translate; $prefix = ""; } china{ menu=From Chinese $prefix="http://babelfish.altavista.com/babelfish/urltrurl?tt=url&url=http%3A%2F%2F"; $suffix="%2F&lp=zh_en"; &translate; $prefix = ""; } japan{ menu=From Japanese $prefix="http://babelfish.altavista.com/babelfish/urltrurl?tt=url&url=http%3A%2F%2F"; $suffix="%2F&lp=ja_en"; &translate; $prefix = ""; } korea{ menu=From Korean $prefix="http://babelfish.altavista.com/babelfish/urltrurl?tt=url&url=http%3A%2F%2F"; $suffix="%2F&lp=ko_en"; &translate; $prefix = ""; } netherlands{ menu=From Dutch $lang = "http://www.tranexp.com:2000/Translate/index.shtml?from=dut&to=eng&type=url&url="; &translate; } finland{ menu=From Finnish $lang = "http://www.tranexp.com:2000/Translate/index.shtml?from=fin&to=eng&type=url&url="; &translate; } greece{ menu=From Greek $lang = "http://www.tranexp.com:2000/Translate/index.shtml?from=grk&to=eng&type=url&url="; &translate; } #--- Shortcut Key macros ----------# SETCTRL1{ $ctrl1=prompt("Enter Address for CTRL + 1", "CTRL + 1"); setpref(STRING, "Web.address.CTRL1", $ctrl1); } SETCTRL2{ $ctrl2=prompt("Enter Address for CTRL + 2", "CTRL + 2"); setpref(STRING, "Web.address.CTRL2", $ctrl2); } SETCTRL3{ $ctrl3=prompt("Enter Address for CTRL + 3", "CTRL + 3"); setpref(STRING, "Web.address.CTRL3", $ctrl3); } SETCTRL4{ $ctrl4=prompt("Enter Address for CTRL + 4", "CTRL + 4"); setpref(STRING, "Web.address.CTRL4", $ctrl4); } SETCTRL5{ $ctrl5=prompt("Enter Address for CTRL + 5", "CTRL + 5"); setpref(STRING, "Web.address.CTRL5", $ctrl5); } SETCTRL6{ $ctrl6=prompt("Enter Address for CTRL + 6", "CTRL + 6"); setpref(STRING, "Web.address.CTRL6", $ctrl6); } SETCTRL7{ $ctrl7=prompt("Enter Address for CTRL + 7", "CTRL + 7"); setpref(STRING, "Web.address.CTRL7", $ctrl7); } SETCTRL8{ $ctrl8=prompt("Enter Address for CTRL + 8", "CTRL + 8"); setpref(STRING, "Web.address.CTRL8", $ctrl8); } SETCTRL9{ $ctrl9=prompt("Enter Address for CTRL + 9", "CTRL + 9"); setpref(STRING, "Web.address.CTRL9", $ctrl9); } CTRL1{ $ctrl1=getpref(STRING,"Web.address.CTRL1"); open($ctrl1); } CTRL2{ $ctrl2=getpref(STRING,"Web.address.CTRL2"); open($ctrl2); } CTRL3{ $ctrl3=getpref(STRING,"Web.address.CTRL3"); open($ctrl3); } CTRL4{ $ctrl4=getpref(STRING,"Web.address.CTRL4"); open($ctrl4); } CTRL5{ $ctrl5=getpref(STRING,"Web.address.CTRL5"); open($ctrl5); } CTRL6{ $ctrl6=getpref(STRING,"Web.address.CTRL6"); open($ctrl6); } CTRL7{ $ctrl7=getpref(STRING,"Web.address.CTRL7"); open($ctrl7); } CTRL8{ $ctrl8=getpref(STRING,"Web.address.CTRL8"); open($ctrl8); } CTRL9{ $ctrl9=getpref(STRING,"Web.address.CTRL9"); open($ctrl9); } Hyperlink_in_Layer { $tmp = getclipboard(); id(ID_EDIT_COPY); pluginmsg(layers, "OpenURL", getclipboard()); setclipboard($tmp); } # K-Ninja Menu Macros kninjafaq{ pluginmsg(layers, "OpenURL", "http://www.geocities.com/grenleef/faq.html"); } knhome{ pluginmsg(layers, "OpenURL", "http://geocities.com/grenleef"); } knforums{ pluginmsg(layers, "OpenURL", "http://pub35.bravenet.com/forum/2994087922"); } mzhome{ pluginmsg(layers, "OpenURL", "http://www.mozillazine.org/"); } MZWiki{ pluginmsg(layers, "OpenURL", "http://wiki.mozilla.org/Main_Page"); } mzforums{ pluginmsg(layers, "OpenURL", "http://forums.mozillazine.org/viewforum.php?f=34&sid=7c688285a71430afedf4c6d666d93f32"); } MZ{ pluginmsg(layers, "OpenURL", "http://forums.mozillazine.org/search.php"); } # ---kko--- Custom Proxies ! $proxy="network.proxy."; $cprxy=$macroPrefBranch."proxy"; proxy1cfg{ $n="1"; &CPset; } proxy2cfg{ $n="2"; &CPset; } proxy3cfg{ $n="3"; &CPset; } ProxySync{ setcheck("macros(proxy1)",(getpref(STRING,$cprxy."1.http")==getpref(STRING,$proxy."http"))*(getpref(INT,$proxy."type")==1)?true:false); setcheck("macros(proxy2)",(getpref(STRING,$cprxy."2.http")==getpref(STRING,$proxy."http"))*(getpref(INT,$proxy."type")==1)?true:false); setcheck("macros(proxy3)",(getpref(STRING,$cprxy."3.http")==getpref(STRING,$proxy."http"))*(getpref(INT,$proxy."type")==1)?true:false); setcheck("macros(NoProxy)",getpref(INT,$proxy."type")?false:true); } CPset{ $tit=sub("%s",$n,_("Custom HTTP Proxy %s - Server Setup")); $srvr=getpref(STRING,$cprxy.$n.".http"); $port=getpref(INT,$cprxy.$n.".http_port"); $srvr=prompt(_("Server URL:"),$tit,$srvr); $srvr==""?"":setpref(STRING,$cprxy.$n.".http",$srvr); $srvr==""?"":$port=prompt(_("Server Port:"),$tit,$port); $port==""?"":setpref(INT,$cprxy.$n.".http_port",$port); statusbar(_("Custom HTTP Proxy")." ".$n." ".getpref(STRING,$cprxy.$n.".http").":".getpref(INT,$cprxy.$n.".http_port")); } proxy1{ $n="1"; &CPuse; } proxy2{ $n="2"; &CPuse; } proxy3{ $n="3"; &CPuse; } CPuse{ $srvr=getpref(STRING,$cprxy.$n.".http"); $port=getpref(INT,$cprxy.$n.".http_port"); # When no server url is set, do not change anything! $srvr==""?"":setpref(STRING,$proxy."http",$srvr); $srvr==""?"":setpref(INT,$proxy."http_port",$port); $srvr==""?"":setpref(INT,$proxy."type",1); getpref(INT,$proxy."type")==1?statusbar(_("Connecting over proxy")." ".getpref(STRING,$proxy."http").":".getpref(INT,$proxy."http_port")):&NoProxy; &Sync; } NoProxy { setpref(INT,$proxy."type",0); statusbar(_("Direct Connection")); &Sync; } # ---kko--- Hotlinks # $hl=$macroPrefBranch."hotlink"; hotlink0{ $n="0"; &HLgo; } hotlink1{ $n="1"; &HLgo; } hotlink2{ $n="2"; &HLgo; } hotlink3{ $n="3"; &HLgo; } hotlink4{ $n="4"; &HLgo; } hotlink5{ $n="5"; &HLgo; } hotlink6{ $n="6"; &HLgo; } hotlink7{ $n="7"; &HLgo; } hotlink8{ $n="8"; &HLgo; } hotlink9{ $n="9"; &HLgo; } HLgo{ &HLgetPref; $newwin==true?$xul=$theurl:$xul=""; $xul==""?($theurl==""?"":open($theurl)):($theurl==""?"":&XUL); } hotlink0cfg{ $n="0"; &HLsetURL; } hotlink1cfg{ $n="1"; &HLsetURL; } hotlink2cfg{ $n="2"; &HLsetURL; } hotlink3cfg{ $n="3"; &HLsetURL; } hotlink4cfg{ $n="4"; &HLsetURL; } hotlink5cfg{ $n="5"; &HLsetURL; } hotlink6cfg{ $n="6"; &HLsetURL; } hotlink7cfg{ $n="7"; &HLsetURL; } hotlink8cfg{ $n="8"; &HLsetURL; } hotlink9cfg{ $n="9"; &HLsetURL; } HLgetPref{ $theurl=getpref(STRING,$hl.$n.".url"); $newwin=getpref(BOOL,$hl.$n.".new"); } HLsetURL{ &HLgetPref; $tit=_("Hotlinks"); $tip=gsub("%s", $n, _("On Ctrl+%s open:')); # suggest current URL, if not set: $theurl=prompt($tip,$tit,$theurl==""?$URL:$theurl); $theurl==""?"":setpref(STRING,$hl.$n.".url",$theurl); $theurl==""?"":&HLsetNEW; } HLsetNEW{ $newwin=confirm(_("Do you want to open this hotlink in a new window/layer?"),$tit,YESNO,QUESTION); $newwin=="YES"?setpref(BOOL,$hl.$n.".new",true):setpref(BOOL,$hl.$n.".new",false); } # ----- XUL Pref Panel Macros --------------------------------------------------------------- $frames="browser.frames.enabled"; Frm1st{ getpref(BOOL,$frames)==false?(confirm(_("Frames are currently disabled. They must be enabled to use this feature.")."\n\n"._("Enable Frames and continue?"),_("Frames Disabled"),YESNO,EXCLAIM)=="YES"?&Frm2nd:""):macros($macro); } Frm2nd{ &FrmToggle; macros($macro); } FrmToggle{ togglepref(BOOL,$frames); &Sync; getpref(BOOL,$frames)==false?$tip=_("BLOCKED"):$tip=_("ALLOWED"); statusbar(_("Frames")." ".$tip); } $prefURL="chrome://kmprefs/content/pref.xul"; PrefOpen{ $macro="XULDialog"; &Frm1st; } PrefPanel{ $xul=$prefURL; &PrefOpen; } Bookmarks{ $xul=$prefURL."?bookmarks"; &PrefOpen; } Favorites{ $xul=$prefURL."?favorites"; &PrefOpen; } Hotlist{ $xul=$prefURL."?hotlist"; &PrefOpen; } Browsing{ $xul=$prefURL."?browsing"; &PrefOpen; } Filters{ $xul=$prefURL."?filters"; &PrefOpen; } Hotlinks{ $xul=$prefURL."?hotlinks"; &PrefOpen; } MGestures{ $xul=$prefURL."?gestures"; &PrefOpen; } Layers{ $xul=$prefURL."?layers"; &PrefOpen; } JavaScript{ $xul=$prefURL."?javascript"; &PrefOpen; } ToolBars{ $xul=$prefURL."?toolbars"; &PrefOpen; } getFavorites{ $fav="kmeleon.plugins.favorites.directory"; $tmp=readreg("HKCU","Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\Favorites")."\\"; getpref(STRING,$fav)==""?setpref(STRING,$fav,$tmp):""; } # ----- UserCSS{ $ext="css"; &getExtensionHandler; injectCSS(readfile(promptforfile("", $doctype, "*.css"))) } UserScript{ $ext="js"; &getExtensionHandler; injectJS(readfile(promptforfile("", $doctype, "*.js"))) }